// {{ .Data.GenerateTitle }}
package repository

import (
    "context"
	"gitee.com/kristas/booting-go/framework"
	"gitee.com/kristas/booting-go/framework/core/statement/types"
	"gitee.com/kristas/booting-go/framework/data"
	"{{ .PkgName }}/datasource"
)

func init() {
	framework.Component(new({{ .Data.ComponentName }}Impl))
}

type {{ .Data.ComponentName }} interface {
	data.Repository
	GetById(ctx context.Context, id string) (interface{}, error)
}

type {{ .Data.ComponentName }}Impl struct {
	types.Repository `table:"{{ .Data.Table }}"`
	ORM              *datasource.GormDB `wire:""`
}

func (t *{{ .Data.ComponentName }}Impl) GetById(ctx context.Context, id string) (interface{}, error) {
	panic("implement me")
}